home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 10 / FM Towns Free Software Collection 10.iso / ms_dos / tool / conhlp03 / fswchsrc / fswch.h < prev    next >
C/C++ Source or Header  |  1995-02-20  |  2KB  |  72 lines

  1. /*
  2.     fswch.h
  3.     1994/03/01 1995/02/20
  4. */
  5.  
  6. #include <stdio.h>
  7. #include <dos.h>
  8.  
  9. #ifndef TOWNS
  10. #define getop getch
  11. #endif
  12.  
  13. /* マクロ */
  14. #define KEY_MAX (32)
  15. #define PROG_MAX (1000)
  16. #define MAKE_MAX (700)
  17. #define SELPRG_MAX (20)
  18. #define ON (1)
  19. #define OFF (0)
  20. #define SELLECT (1)
  21. #define NONSELLECT (2)
  22.  
  23. /* sjis 上位:81h-9fh e0h-efh 下位:3fh-fbh !7fh */
  24. #define isk1(c) ( 0x81<=(c) && (c)<=0x9f || 0xe0<=(c) && (c)<=0xef )
  25. #define isk2(c) ( 0x3f<=(c) && (c)<=0xfb && (c) != 0x7f )
  26. #define isck(x,c) (x==0)?(isk1(c)?1:0):(x==1)?2:(x==2)?(isk1(c)?1:0):0;
  27.  
  28. /* エスケープシーケンス */
  29. #define ESC        "\33["
  30. #define ESC_WHITE    ESC"37m"
  31. #define ESC_YELLOW    ESC"33m"
  32. #define ESC_SKYBULE    ESC"36m"
  33. #define ESC_MAZENTA    ESC"35m"
  34. #define ESC_GREEN    ESC"32m"
  35. #define ESC_RED        ESC"31m"
  36. #define ESC_BULE    ESC"34m"
  37. #define curoff          cputs(ESC"1v")
  38. #define curon           cputs(ESC"0v")
  39.  
  40.  
  41. /* テキストクリア */
  42. #define clstext()    putch('\f')
  43.  
  44. /* グローバル変数 */
  45. #ifdef MAIN
  46. fpos_t idxptr[PROG_MAX];        /* 作品ファイル位置 */
  47. unsigned char idxpkey[PROG_MAX][KEY_MAX];    /* 作品キーフラグ */
  48. signed int selprog[PROG_MAX];    /* 作品選択フラグ */
  49. unsigned char keyword[KEY_MAX][16];    /* keyword名称 */
  50. unsigned char skey[KEY_MAX];        /* keyword 選択フラグ */
  51. /*unsigned long mkname[MAKE_MAX];*/    /* 作者名 4byte */
  52. unsigned int kno,ino;            /* keyword_max index_max */
  53. signed int ckey;                /* keyword 選択カウンタ */
  54. FILE *idxfp;                /* helper.idxファイルポインタ*/
  55. char *pg;                /* 環境変数PAGER ポインタ */
  56. #endif
  57.  
  58. extern fpos_t idxptr[PROG_MAX];        /* 作品ファイル位置 */
  59. extern unsigned char idxpkey[PROG_MAX][KEY_MAX];    /* 作品キーフラグ */
  60. extern signed int selprog[PROG_MAX];    /* 作品選択フラグ */
  61. extern unsigned char keyword[KEY_MAX][16];    /* keyword名称 */
  62. extern unsigned char skey[KEY_MAX];        /* keyword 選択フラグ */
  63. /*extern unsigned long mkname[MAKE_MAX];*/    /* 作者名 4byte */
  64. extern unsigned int kno,ino;            /* keyword_max index_max */
  65. extern signed int ckey;                /* keyword 選択カウンタ */
  66. extern FILE *idxfp;                /* helper.idxファイルポインタ*/
  67. extern char *pg;                /* 環境変数PAGER ポインタ */
  68.  
  69. #ifdef TOWNS
  70. unsigned char getop( void );            /* パッド & キーBIOS */
  71. #endif
  72.